/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.jamk;

//importataan tarvittavat paketit
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 *
 * @author f0899
 */
public class EurotMarkoiksi extends JFrame implements ActionListener {

    //ominaisuudet
    private JLabel teksti;
    private JButton euro;
    private JButton markka;
    private JTextField kentta;
    private JPanel napitPanel;
    private JPanel tulosPanel;
    private JPanel arvoPanel;

    //muunnin-funktio
    private String Muunnin(float arvo, String raha) {
        float temp = 0;
        //mikäli klikattiin euronappia muutetaan arvo markoiksi ja palautetaan stringinä
        if (raha == "markka") {
            temp = (float) (arvo / 5.94573);
            return arvo + " markkaa on " + temp + " euroa";
            //mikäli klikattiin markkanappia muutetaan arvo euroiksi ja palautetaan stringinä
        } else if (raha == "euro") {
            temp = (float) (arvo * 5.94573);
            return arvo + " euroa on " + temp + " markkaa";
        }
        return "VITUIKS MÄN";
    }

    //konstruktori
    public EurotMarkoiksi() {
        //ikkunan nimi
        super("Valuuttamuunnin");

        //ikkunan sulkeminen
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //komponentit
        euro = new JButton("Euroiksi");
        euro.addActionListener(this);
        markka = new JButton("Markoiksi");
        markka.addActionListener(this);

        napitPanel = new JPanel();
        tulosPanel = new JPanel();
        arvoPanel = new JPanel();

        teksti = new JLabel();
        kentta = new JTextField();

        //muotoillaan ikkuna ja panelien layoutit
        getContentPane().add(tulosPanel, BorderLayout.NORTH);
        getContentPane().add(napitPanel, BorderLayout.SOUTH);
        getContentPane().add(arvoPanel, BorderLayout.CENTER);
        setSize(250, 130);

        //muotoillaan tekstilaatikko
        kentta.setColumns(18);
        teksti.setText("Valuuttalaskuri");

        //asetetaan paneleille flowlayout
        tulosPanel.setLayout(new FlowLayout());
        napitPanel.setLayout(new FlowLayout());
        arvoPanel.setLayout(new FlowLayout());

        //lisätään komponentit paneeleihin
        arvoPanel.add(kentta);
        tulosPanel.add(teksti);
        napitPanel.add(euro);
        napitPanel.add(markka);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");

        //tallennetaan klikkauksen alkuperä painettu-arvoon
        JButton painettu = (JButton) e.getSource();

        //muutetaan tekstiboksin stringi liukuluvuksi
        String arvo;
        arvo = kentta.getText();
        float arvofloat = Float.valueOf(arvo.trim()).floatValue();

        //mikäli painettiin euroa lähetä muuntimelle tekstiboksin float ja "euro"
        if (painettu == euro) {
            teksti.setText(Muunnin(arvofloat, "euro"));
            //mikäli painettiin markkaa lähetä muuntimelle tekstiboksin float ja "markka"
        } else if (painettu == markka) {
            teksti.setText(Muunnin(arvofloat, "markka"));
        }
    }

    public static void main(String args[]) {
        // asetetaan sovelluksen tuntuma
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.out.println("Haluttu tuntuma ei alustu!");
            return;
        }
        // luodaan sovelluksen pääikkuna
        new EurotMarkoiksi().setVisible(true);
    }
}
